The present invention relates to a resource management device, used in a system in which a plurality of masters issue requests for access to at least one shared resource, for arbitrating such access requests from the masters to a shared resource.
Inside a system LSI, a plurality of masters such as a microprocessor, a digital signal processor (DSP) and a direct memory access (DMA) controller make access to shared resources such as a memory and a peripheral input/output (I/O) controller. In such a system LSI, a resource management device is necessary for arbitrating access requests from the masters to the shared resource efficiently.
In some prior art technique, a resource management device arbitrates access requests at each fixed time interval based on priority information of masters held in advance in the form of a table. The table includes a plurality of patterns of priority information, and the patterns are sequentially selected at fixed time intervals of the arbitration. Each master is allowed to receive access permission by the number of times equal to the number of priority patterns that assign the highest priority to the master, so that a minimum access bandwidth can be guaranteed for each master (see US 2004/0073730 A1).
In the device described above, if a temporal deviation arises in the timing of issuance of access requests from the masters, no access permission will be granted to any master at an arbitration timing at which no access request exists, resulting in losing a chance of granting access permission. As a result, a number of access requests may cluster at another arbitration timing. In this case, the access latency of a master having a low priority will increase.
To solve the above problem, in another prior art technique, while arbitration of access requests from masters to a shared resource is being made at fixed-interval arbitration timing, the timing of start of the arbitration operation is shifted from the fixed-interval arbitration timing according to an arbitration history. To state more specifically, if no access request from any master exists at a given arbitration timing, access permission will be given to an access request issued after the given arbitration timing without waiting for the next arbitration timing (see US 2006/0155903 A1).